package model

import "time"

type Users struct {
	UserId        uint32    `gorm:"column:user_id;type:int UNSIGNED;comment:用户ID;primaryKey;not null;" json:"user_id"`                        // 用户ID
	Username      string    `gorm:"column:username;type:varchar(50);comment:用户名;not null;" json:"username"`                                   // 用户名
	PasswordHash  string    `gorm:"column:password_hash;type:varchar(100);comment:密码哈希;not null;" json:"password_hash"`                       // 密码哈希
	Mobile        string    `gorm:"column:mobile;type:varchar(20);comment:手机号;not null;" json:"mobile"`                                       // 手机号
	Email         string    `gorm:"column:email;type:varchar(50);comment:邮箱;default:NULL;" json:"email"`                                      // 邮箱
	AvatarUrl     string    `gorm:"column:avatar_url;type:varchar(255);comment:头像URL;default:NULL;" json:"avatar_url"`                        // 头像URL
	RegisterTime  time.Time `gorm:"column:register_time;type:datetime;comment:注册时间;not null;default:CURRENT_TIMESTAMP;" json:"register_time"` // 注册时间
	LastLoginTime time.Time `gorm:"column:last_login_time;type:datetime;comment:最后登录时间;default:NULL;" json:"last_login_time"`                 // 最后登录时间
	Status        int8      `gorm:"column:status;type:tinyint;comment:状态：0-禁用，1-正常;not null;default:1;" json:"status"`                        // 状态：0-禁用，1-正常
	CreatedAt     time.Time `gorm:"column:created_at;type:datetime;comment:创建时间;not null;default:CURRENT_TIMESTAMP;" json:"created_at"`       // 创建时间
	UpdatedAt     time.Time `gorm:"column:updated_at;type:datetime;comment:更新时间;not null;default:CURRENT_TIMESTAMP;" json:"updated_at"`       // 更新时间
}

func (u *Users) TableName() string {
	return "users"

}
